using System;
using System.ComponentModel.Design;

using Microsoft.WowAddonStudio.FrameXml.Components;

namespace Microsoft.WowAddonStudio.FrameXml.Editor.ToolWindows
{
	public interface ILayoutControlManager : IDisposable
	{
		/// <summary>
		/// Registers the specified designer host.
		/// </summary>
		/// <param name="designerHost">The designer host.</param>
		/// <returns></returns>
		bool Register(IDesignerHost designerHost);

		/// <summary>
		/// Registers the specified designer host.
		/// </summary>
		/// <param name="designerHost">The designer host.</param>
		/// <returns></returns>
		bool Unregister(IDesignerHost designerHost);

        /// <summary>
        /// Edits the given control
        /// </summary>
        /// <param name="control"></param>
        void Edit(IFrameXmlControl control);

		/// <summary>
		/// Resumes this instance.
		/// </summary>
		void Resume();

		/// <summary>
		/// Suspends this instance.
		/// </summary>
		void Suspend();

		/// <summary>
		/// Resets this instance.
		/// </summary>
		void Reset();
	}
}